草庐IT

HTTP 400 错误

全部标签

go: var declared but not used 错误 - 如何解决?

在这个函数中,我得到了“sdeclaredandnotused”,我不明白-我是否需要以某种方式将其标记为“我真的使用过它”还是什么?funcgetString(datamap[string]interface{},namestring)(string,error){s:=data[name]ifreflect.TypeOf(s).Kind()!=reflect.String{returns.(string),nil}return"",&apiError{1,"it'snotastring"}}奇怪的是,我没有从这个函数中得到错误:funcgetInt(datamap[string]i

go - coveralls.io 和 Golang 中的错误处理

我写了一个libraryforInstagramAPI并告诉coveralls.io检查我的存储库但coveralls.io告诉我,我的源代码中的所有错误处理程序都不好。seethis我怎样才能完美地处理错误并且coveralls.io说它很好:smile:sorryformyEnglish 最佳答案 我认为它试图告诉您您的测试没有涵盖该路径。这意味着您编写的测试可能只测试“快乐路径”,而不是进入那些错误处理分支。 关于go-coveralls.io和Golang中的错误处理,我们在St

go - 将所有错误处理的 golang 错误代码替换为 panic

我们有一个用go编写的中型应用程序。在所有代码行中,大约60%用于代码错误处理。像这样:iferr!=nil{returnerr}一段时间后,一遍又一遍地写这些行变得很烦人,我们现在正在考虑用panics替换所有错误代码。我知道panic不应该那样使用。什么可能是潜在的陷阱,有没有人有类似的经验? 最佳答案 主要的缺陷是广泛使用锤子来驱动螺丝。panic是针对不可恢复/意外的错误,错误返回值是针对可恢复/预期的错误。将“panic”一词替换为“崩溃”,因为这在概念上就是panic。您是否真的想编写一个应用程序,只要出现任何远程错误,

http - Go http客户端不遵循重定向

我有一个检查url的函数:funcCheckurl(urlstring){client:=&http.Client{}req,err:=http.NewRequest("GET",url,nil)resp,err:=client.Get(url)错误变量:意外的EOF在tcpdump中我看到重定向和连接关闭:15:53:41.510722IP(tos0x0,ttl248,id18315,offset0,flags[none],protoTCP(6),length123)XXX.XXX.XXX.XXX.80>XXX.XXX.XXX.XXX.53618:Flags[F.],cksum0xb

golang http 服务器通过套接字发送 r.URL.Path

我有一个http服务器,我想使用套接字将r.URL.Path文本发送到客户端我得到一个错误:undefined:conninconn.Write这是因为conn是在另一个函数中定义的我尝试过的:packagemainimport("net""io""net/http")ln,_:=net.Listen("tcp",":8081")conn,_:=ln.Accept()funchello(whttp.ResponseWriter,r*http.Request){io.WriteString(w,"Helloworld!")conn.Write([]byte(r.URL.Path+"\n"

http - TCP 是同一主机中 Go 程序之间通信的最佳方法吗?

假设我有两个独立的Go程序在我的本地主机上运行,​​就性能而言,TCP是否是在两个程序之间传输数据的最佳方法? 最佳答案 简短的回答是否定的。TCP/IP堆栈很慢,尤其是TCP部分。因此,就性能而言,您最好使用本地进程间通信方法,例如应用程序或Unix套接字之间的共享内存。如果您必须使用网络堆栈进行通信(例如,您计划在主机之间移动应用程序),那么UDP或原始套接字是性能方面的最佳选择。只有当你:必须使用网络并且您需要一个可靠的通信channel,那么TCP是一个不错的选择。因此,只需浏览您的要求并确定它是否是最适合您的方法。

go - 如何在 golang 中编译 javascript 代码并获取详细错误

我在项目中使用go语言。我需要在go中运行一段js代码。我知道有一个包裹是奥托。我的问题是如何获取js代码的详细错误消息。例如:src:=`abc=2+console.log("Thevalueofabcis"+abc)`当我做某事时,让我们说compile(src)。然后我会得到这样的错误:在第二行错过了一些东西并错过了';'在第三行。就像编译器在做在发布问题之前,我已经尝试使用otto的编译,返回的错误为零。上面代码使用otto的func(selfOtto)Run(srcinterface{})(Value,error)会返回错误,但是如果代码变成了abc=9abc=2+conso

go - 为什么我从 golang 错误地运行 python 脚本

import("fmt""os/exec""bytes")funcmain(){cmd:="/root/hi.py>/root/1.log"out,err:=exec.Command("python","-c",cmd).Output()fmt.Printf("Out:%s",string(out))fmt.Printf("Err:%s",err.Error())}错误:没有这样的文件错误:/root/hi.py>/root/1.log//hi.py#!/usr/bin/pythonprint('helloworld') 最佳答案

multithreading - go指针多线程读写错误

正常应该是恒定输出test1test2........但是只有test1输出,程序挂了,没有任何反应指针的赋值是最基本的操作,这个应该是线程安全的,满足句号但是这个测试没能typePointstruct{XintYint}funcmain(){varp*Point=niltest:=truegofunc(){fortest{iftmp:=p;tmp==nil{p=&Point{}}}}()gofunc(){fortest{iftmp:=p;tmp!=nil{p=nil}}}()n:=0fortest{n++fmt.Printf("testing%v....\r\n",n)time.Sl

go - 错误检查后延迟的放置

在Go语言中,经常会看到下面的成语:funcCopyFile(dstName,srcNamestring)(writtenint64,errerror){src,err:=os.Open(srcName)iferr!=nil{return}defersrc.Close()dst,err:=os.Create(dstName)iferr!=nil{return}deferdst.Close()returnio.Copy(dst,src)}defer语句出现在错误检查之后有什么原因吗?我的猜测是这样做是为了避免在err不是nil的情况下取消引用nil值。 最佳答